#include "../../platform/win32/inc/stdafx.h"
#include "../common/inc/InternalCommon.h"
#include "../inc/SelectContainer.h"

namespace	Platform
{

	namespace Network
	{

		CSelectContainer::CSelectContainer(){}

		CSelectContainer::~CSelectContainer(){}

		CSelectContainer::CSelectContainer(const CSelectContainer &object)
		{
			(*this) = object;
		}

		CSelectContainer& CSelectContainer::operator=(const CSelectContainer &object)
		{
			return (*this);
		}

		bool CSelectContainer::operator==(const CSelectContainer &object)
		{
			return (this == &object);
		}
		
		int CSelectContainer::Create()
		{
			return m_System.Create();
		}
			
		int CSelectContainer::Destroy()
		{
			return m_System.Destroy();
		}

		int CSelectContainer::Append(IN Platform::System::IHandle *handle)
		{
			return m_System.Append(handle);
		}

		int CSelectContainer::Remove(IN Platform::System::IHandle *handle)
		{
			return m_System.Remove(handle);
		}

		int CSelectContainer::Clean()
		{
			return m_System.Clean();
		}

		int CSelectContainer::GetCount()
		{
			return m_System.GetCount();
		}

		int CSelectContainer::GetHandle(IN int position, OUT Platform::System::IHandle *&handle)
		{
			return m_System.GetHandle(position, handle);
		}

		int CSelectContainer::CleanState()
		{
			return m_System.CleanState();
		}

		int CSelectContainer::SetHandleState(IN Platform::System::IHandle *handle, IN bool read, IN bool write, IN bool error)
		{
			return m_System.SetHandleState(handle, read, write, error);
		}

		int CSelectContainer::GetHandleState(IN Platform::System::IHandle *handle, OUT bool &read, OUT bool &write, OUT bool &error)
		{
			return m_System.GetHandleState(handle, read, write, error);
		}

		int CSelectContainer::GetHandleState(IN int position, OUT Platform::System::IHandle *&handle, OUT bool &read, OUT bool &write, OUT bool &error)
		{
			return m_System.GetHandleState(position, handle, read, write, error);
		}

	}

}